草庐IT

Java HTTP 代理服务器

全部标签

go - 通过代理发出请求时为 "EOF"

我正在使用ssh创建到EC2实例的代理连接:ssh-v-D8123ubuntu@some.ip.address并且我编写了一个非常简单的Go程序来发出http请求:packagemainimport("io/ioutil""net/http""os""log""fmt")funcmain(){resp,err:=http.Get("http://example.com")iferr!=nil{log.Println(err)os.Exit(1)}fmt.Println(string(ioutil.ReadAll(resp.Body)))}当我正常运行我的程序时,它按预期工作。但是,当我

go - jsonrpc 服务器接受请求的小写方法名称(用于大写注册服务)

我正在尝试编写一个jsonrpc服务器,它将接受请求的小写方法名称,例如Arith.multiply,并将它们正确地路由到相应的大写方法,例如Arith.Multiply。这可能吗?附言它是用于测试的生产服务器的轻量级克隆,API是固定的,包括小写的方法名称,所以我无法将请求的方法名称更改为大写。packagemainimport("log""net/http""github.com/gorilla/mux""github.com/gorilla/rpc""github.com/gorilla/rpc/json")typeArgsstruct{A,Bint}typeArithintty

ubuntu - Go 没有检测到来自 aws ubuntu 服务器的 SOMAXCONN 更改

我正在尝试使用k6对我的golangnet/http服务器进行压力测试.当我使用2048个虚拟用户访问我的awsubuntu服务器时,k6抛出“连接重置”。在互联网上调查,我发现可能是积压队列的问题。阅读一些计算器问题,我试图从sysctl.conf文件修改SOMAXCONN变量。将它从128修改为1024后,当我运行我的主要go程序时:packagemainimport("fmt""log""net/http""strings""golang.org/x/sys/unix")funcmain(){http.HandleFunc("/some_path",handler)fmt.Pri

go - 使用 autocert 保护 websocket 服务器

我正在尝试使用acme/autocert在go中设置一个安全的websocket服务器(wss://)。程序启动,但当我尝试连接到它时出现以下错误:http:TLShandshakeerrorfrom:acme/autocert:unabletoauthorize"";challenge"tls-alpn-01"failedwitherror:acme:authorizationerrorfor:403urn:acme:error:unauthorized:CannotnegotiateALPNprotocol"acme-tls/1"fortls-alpn-01challenge这是我

go - 无法生成 gin-gonic 服务器应用程序的代码覆盖率报告

go版本:go版本go1.11.2linux/amd64gin版本(或提交引用):提交#5acf660操作系统:Ubuntu16.04LTS描述我正在尝试使用示例应用程序为gin服务器生成代码覆盖率报告。示例.gopackagemainimport("github.com/gin-gonic/gin")funcmain(){r:=gin.Default()r.GET("/ep1",getEp1)r.GET("/ep2",getEp2)//r.Run()}funcgetEp1(c*gin.Context){}funcgetEp2(c*gin.Context){}这是我的测试文件:samp

go - 奇怪的 404 服务器错误 (ListenAndServeTLS)

2天前我开始收到这些404错误:Chromeconsole:Failedtoloadresource:theserverrespondedwithastatusof404()我可以在任何PC上运行此编译代码而不会出现问题,但在我正在开发的PC(Win10)上除外。我怎样才能找到问题的根源?我开始变得非常困惑,并且尝试了数十种有或没有gorilla/mux和其他变体。这是我正在使用的一个简单版本(当然我也试过这个)packagemainimport("log""net/http")funcHelloServer(whttp.ResponseWriter,req*http.Request)

golang http 服务器 http.ListenAndServe 仅适用于本地主机?

我想使用golang在AzureLinuxVM中实现一个HTTP服务器。下面是简单的golang服务器代码,监听端口30175。该端口上没有防火墙。packagemainimport("fmt""log""net/http")funchandler(whttp.ResponseWriter,r*http.Request){fmt.Fprintf(w,"Hithere,Ilove%s!",r.URL.Path[1:])}funcmain(){http.HandleFunc("/",handler)log.Fatal(http.ListenAndServe(":30175",nil))}s

go - 我如何编写一个函数代理,它采用一个转换为 func(...x) ...y 的接口(interface){},并将结果绑定(bind)到一个指针值?

我正在尝试创建一个函数,它充当执行函数的代理。它接受一个指向值的指针(这将是设置结果的地方)、一个函数和一些参数。它执行函数并将结果应用于值。我的第一个挑战是执行函数,因为声明的类型不是func(也不可能是)。我想我可以使用reflect.MakeFunc实现这一点,但我没有成功。下面是我正在努力实现的示例。packagemainimport"fmt"//Executethefunctionwhichreturnsthisstructtypeitemstruct{keystringvaluestringotherValuestring}functodo(paramstring)(*it

docker - 我尝试在 docker 中部署 gRPC (go) 服务器并在本地端口中公开端口,但端口绑定(bind)不起作用

我尝试在docker中部署gRPC服务器和mongodb。之后我尝试将docker端口绑定(bind)到我的本地端口。mongodb端口绑定(bind)工作正常。但是,gRPC服务器端口没有绑定(bind)我的本地端口ports:-"50051:50051"像这样我在docker-compose.yml中尝试过docker-compose.ymlservices:auth_server:container_name:auth_servicebuild:.command:gorunserver.govolumes:-.:/go/src/auth_serverworking_dir:/go

由golang服务器提供服务时html视频标签不播放m3u8文件

我已经从视频生成了m3u8文件(index.m3u8),我想在HTML上播放它。基本上,我有一个golang服务器,它将index.m3u8发送到html5中的视频标签,以便在http://127.0.0.1:8200/play时播放它。被称为。我的golang文件:packagemainimport("fmt""net/http""html/template")funcserveHandler(whttp.ResponseWriter,r*http.Request){tmpl:=template.Must(template.ParseFiles("index.html"))tmpl.